package main

import (
	"fmt"
	// "strings"
)

/*
你有50枚金币，需要分配给以下几人 users 分配规则如下
a. 名字中包含1个'e'， 或者'E'分1枚金币
b. 名字中包含1个'i'或'I'分2枚金币
b. 名字中包含1个'o'或'O'分3枚金币
b. 名字中包含1个'u'或'U'分4枚金币
分完剩下多少金币
*/
var (
	coins = 5000
	users = []string{
		"Matthew", "Sarah", "Augustus", "Heidi", "Emilie", "Peter", "Giana", "Adriano", "Aaron", "Elizabeth",
	}
	distribution = make(map[string]int, len(users))
)

func main() {
	left := dispatchCoin()
	fmt.Println("剩下:", left)
	// map 是一个无序的
	// for _, s := range distribution {
	// 	// fmt.Printf("%s:%d\n", k, s)
	// 	fmt.Printf(s)
	// 	// fmt.Printf(s[k])
	// }
}

// func dispatchCoin() (left int) {
// 	var (
// 		b int
// 	)
// 	for _, v := range users {
// 		for _, x := range v {
// 			var a int = 0
// 			if x == 'e' {
// 				a += 1
// 			} else if x == 'E' {
// 				a += 1
// 			} else if x == 'i' {
// 				a += 2
// 			} else if x == 'I' {
// 				a += 2
// 			} else if x == 'o' {
// 				a += 3
// 			} else if x == 'O' {
// 				a += 3
// 			} else if x == 'u' {
// 				a += 4
// 			} else if x == 'U' {
// 				a += 4
// 			}
// 			distribution[v] += a
// 		}
// 		b += distribution[v]

// 	}
// 	fmt.Println(distribution)
// 	fmt.Printf("%v ", b)
// 	left = coins - b
// 	return
// }
func dispatchCoin() (left int) {
	for _, v := range users {
		for _, c := range v {
			switch c {
			case 'e', 'E':
				// 满足这个条件分1枚金币
				distribution[v]++
				coins--
			case 'i', 'I':
				// 满足这个条件分2枚金币
				distribution[v] += 2
				coins -= 2
			case 'o', 'O':
				// 满足这个条件分3枚金币
				distribution[v] += 3
				coins -= 3
			case 'u', 'U':
				// 满足这个条件分4枚金币
				distribution[v] += 4
				coins -= 4
			}
		}
	}
	left = coins
	return left
}
